package com.atguigu.spzx.manager.service;

import com.atguigu.spzx.manager.entity.Brand;
import com.atguigu.spzx.manager.vo.brand.BrandDetailRespVo;
import com.atguigu.spzx.manager.vo.brand.BrandQueryRespVo;
import com.atguigu.spzx.manager.vo.brand.BrandSaveReqVo;
import com.atguigu.spzx.manager.vo.brand.BrandUpdateReqVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;

public interface BrandService {

    /**
     * 分页查询
     *
     * @param pageParam 分页参数
     * @return 分页查询结果
     */
    Page<BrandQueryRespVo> getBrandPage(Page<Brand> pageParam);

    /**
     * 添加品牌
     *
     * @param reqVo 要添加的品牌信息
     */
    void saveBrand(BrandSaveReqVo reqVo);

    /**
     * 修改品牌信息
     *
     * @param reqVo 要修改的品牌信息
     */
    void updateBrandById(BrandUpdateReqVo reqVo);

    /**
     * 根据ID查询品牌详情
     *
     * @param id 品牌ID
     * @return 品牌详情
     */
    BrandDetailRespVo getBrandById(Long id);

    /**
     * 根据ID删除品牌
     *
     * @param id 品牌ID
     */
    void deleteBrandById(Long id);

    /**
     * 查询所有品牌
     *
     * @return 所有品牌的列表
     */
    List<BrandQueryRespVo> getBrandList();
}
